package com.synergy.stockflow.sales.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.synergy.stockflow.product.entity.Material;
import io.swagger.v3.oas.annotations.media.Schema;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Schema
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "order_return_details")
public class OrderReturnDetails {
    /**
     * 退货明细编码
     */
    @TableId(value = "order_return_detail_id", type = IdType.ASSIGN_ID)
    @Schema(description="退货明细编码")
    private String orderReturnDetailId;

    /**
     * 退货单编码
     */
    @TableField(value = "order_return_detail_order_returns_id")
    @Schema(description="退货单编码")
    private String orderReturnDetailOrderReturnsId;

    /**
     * 产品编码
     */
    @TableField(value = "order_return_detail_products_id")
    @Schema(description="产品编码")
    private String orderReturnDetailProductsId;

    /**
     * 报价详情编码
     */
    @TableField(value = "order_return_detail_quote_details_id")
    @Schema(description="报价详情编码")
    private String orderReturnDetailQuoteDetailsId;

    /**
     * 发货详情编码
     */
    @TableField(value = "order_return_detail_shipping_details_id")
    @Schema(description="发货详情编码")
    private String orderReturnDetailShippingDetailsId;

    /**
     * 已出库退货数量
     */
    @TableField(value = "order_return_detail_outbound_returns")
    @Schema(description="已出库退货数量")
    private BigDecimal orderReturnDetailOutboundReturns;

    /**
     * 已出库退货重量
     */
    @TableField(value = "order_return_detail_outbound_return_weight")
    @Schema(description="已出库退货重量")
    private BigDecimal orderReturnDetailOutboundReturnWeight;

    /**
     * 未出库退货数量
     */
    @TableField(value = "order_return_detail_no_outbound_returns")
    @Schema(description="未出库退货数量")
    private BigDecimal orderReturnDetailNoOutboundReturns;

    /**
     * 未出库退货重量
     */
    @TableField(value = "order_return_detail_no_outbound_return_weight")
    @Schema(description="未出库退货重量")
    private BigDecimal orderReturnDetailNoOutboundReturnWeight;

    /**
     * 已出库总价
     */
    @TableField(value = "order_return_detail_no_the_total_sale_price")
    @Schema(description="已出库总价")
    private BigDecimal orderReturnDetailNoTheTotalSalePrice;

    /**
     * （已出库退货+未出库退货）退货总价
     */
    @TableField(value = "order_return_detail_the_total_sale_price")
    @Schema(description="（已出库退货+未出库退货）退货总价")
    private BigDecimal orderReturnDetailTheTotalSalePrice;

    @TableField(exist = false)
    @Schema(description="报价单详情")
    private QuoteDetails quoteDetails;

    @TableField(exist = false)
    @Schema(description="产品详情")
    private Material material;
}